MSL(여러도면 자동정리) 기능과 함께 쓸만한 스크립트 목록 공유
페이지 정보
작성자 Donguli 작성일 23-02-07 12:08 조회 2,082 댓글 1본문
제가 MSL 명령어로 도면정리시에 자주 함께 사용하는 스크립트 목록을 공유드립니다.
사용방법은 MSL 명령어 도움말에서 [스크립트 목록] 부분을 참조해주세요
https://izzarder.com/265
이외에도 다른분들께서도 자주 사용하시는 스크립트가 있으시다면 공유해주시면 감사하겠습니다^^
<- 스크립트 목록->
(setvar "clayer" "0")
(setvar "cecolor" "bylayer")
(setvar "gridmode" 0)
(setvar "snapmode" 0)
(setvar "orthomode" 1)
(setvar "insunits" 4)
<- 스크립트 설명->
(setvar "clayer" "0")
: 현재 레이어를 "0"번으로 변경
(setvar "cecolor" "bylayer")
: 현재 색상을 "bylayer"로 변경
(setvar "gridmode" 0)
: 그리드 모드 끄기(F7)
(setvar "snapmode" 0)
: 그리드 스냅 끄기(F9)
(setvar "orthomode" 1)
: 직교 켜기(F8)
(setvar "insunits" 4)
: 블록, 이미지, 외부참조의 축척에 대한 도면 단위값 지정
4 - 밀리미터
참조) https://izzarder.com/300
-----------------------
(setq la (getvar 'CLAYER) sp (getvar 'CTAB))
(setvar 'CTAB "Model")
(if (not (tblsearch "LAYER" "blk")) (command "-LAYER" "_M" "blk" "_C" "65" "" ""))
(setvar 'CLAYER "blk")
(setq ss1 (ssget "A" '((0 . "INSERT"))))
(command "-BLOCK" "blkinblk" "0,0" ss1 "")
(command "-INSERT" "blkinblk" "0,0" "" "" "")
(if (not (tblsearch "LAYER" "해치레이어이름")) (command "-LAYER" "_M" "hatch" "_C" "50" "" ""))
(setvar 'CLAYER "hatch")
(setq ss2 (ssget "A" '((0 . "HATCH"))))
(command "-BLOCK" "hatchblk" "0,0" ss2 "")
(command "-INSERT" "hatchblk" "0,0" "" "" "")
(setvar 'CLAYER la)
(setvar 'CTAB sp)
설명
(setq la (getvar 'CLAYER))
;; 현재 레이어를 저장함
(setq sp (getvar 'CTAB))
;; 현재 작업공간을 저장함
;; 모형공간으로 이동, 이미 모형공간이래도 상관없음
(if (not (tblsearch "LAYER" "blk")) (command "-LAYER" "_M" "blk" "_C" "65" "" ""))
;; "blk" 레이어가 없다면 레이어를 새로 만듦 (색이 65번으로 지정)
(setvar 'CLAYER "blk")
;; 현재 레이어를 "blk" 로 변경
(setq ss1 (ssget "A" (list '(0 . "INSERT") '(410 . "Model"))))
;; 화면의 모든 블럭을 모두 선택
(command "-BLOCK" "blkinblk" "0,0" ss1 "")
;; 선택한 것을 "blkinblk" 이라는 블럭으로 만듦
(command "-INSERT" "blkinblk" "0,0" "" "" "")
;; 만든 "blkinblk" 블럭을 화면에 삽입함
(if (not (tblsearch "LAYER" "hatch")) (command "-LAYER" "_M" "hatch" "_C" "50" "" ""))
;; "hatch" 레이어가 없다면, 레이어를 만듦
(setvar 'CLAYER "hatch")
(setq ss2 (ssget "A" (list '(0 . "HATCH") '(410 . "Model"))))
;; 화면의 해치를 모두 선택
(command "-BLOCK" "hatchblk" "0,0" ss2 "")
;; 선택한 것을 "hatchblk" 이라는 블럭으로 만듦
(command "-INSERT" "hatchblk" "0,0" "" "" "")
;; 만든 "blkinblk" 블럭을 화면에 삽입함
(setvar 'CTAB sp)
;; 현재 작업공간을 저장된 작업공간으로 돌림
이자더님의 댓글
이자더 작성일감사합니다.^^
저도 하나 추가해 놓았습니다.